package com.xbongbong.admin.pojo;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 李翔
 * @date 2022/8/24
 * @description
 */
@Getter
@Setter
@ToString
public class StageRollbackPojo implements Serializable {

    private static final long serialVersionUID = -4050357889323176605L;

    /**
     * 公司Id
     */
    private String corpid;

    /**
     * 备份应用Id, 用来区别同公司同应用同表单的多次备份
     */
    private Long retainAppId;

    /**
     * 备份的表单Id列表， 即 systemFormIdIn
     */
    private List<Long> retainFormIdIn;

//    /**
//     * 备份的阶段流程Id列表
//     */
//    private List<Long> retainStageProcessIdIn;
//
//    /**
//     * 备份的阶段Id列表
//     */
//    private List<Long> retainStageIdIn;

    /**
     * 原（备份前）表单Id 到现表单Id的映射Map
     */
    private Map<Long, Long> sourceFormId2NowFormIdMap;

    /**
     * 原（备份前）阶段流程Id 到现阶段流程Id的映射Map
     */
    private Map<Long, Long> sourceStageProcessId2NowMap;

    /**
     * 原（备份前）阶段Id 到现阶段Id的映射Map
     */
    private Map<Long, Long> sourceStageId2NowMap;


    public StageRollbackPojo(String corpid, Long retainAppId, List<Long> retainFormIdIn, Map<Long, Long> sourceFormId2NowFormIdMap) {
        this.corpid = corpid;
        this.retainAppId = retainAppId;
        this.retainFormIdIn = retainFormIdIn;
        this.sourceFormId2NowFormIdMap = sourceFormId2NowFormIdMap;

//        retainStageProcessIdIn = new ArrayList<>();
//        retainStageIdIn = new ArrayList<>();
        sourceStageProcessId2NowMap = new HashMap<>();
        sourceStageId2NowMap = new HashMap<>();

    }
}
